using System;
using System.Collections.Generic;
using System.Diagnostics;
using wpffc.contracts.domaindata;

namespace wpffc.flashcardbox.domaindata
{
    public class FlashCardBox : IFlashCardBox
    {
        public FlashCardBox(int batchNeedsRefillCount, int batchFullCount, int[] compartmentFullCounts)
        {
            this.Batch = new Batch(batchNeedsRefillCount, batchFullCount);

            var compartments = new ICompartment[compartmentFullCounts.Length];
            for (var i = 0; i < compartmentFullCounts.Length; i++)
                compartments[i] = new Compartment(compartmentFullCounts[i]);
            this.Compartments = compartments;

            this.Archive = new Queue<Card>();
        }


        public IBatch Batch { get; private set; }
        public ICompartment[] Compartments { get; private set; }
        public Queue<Card> Archive { get; private set; }
    }
}